The chirp modulation method is a modulation method in which the frequency of a signal (chirp) varies linearly over time in a bandwidth. The bandwidth can be expressed as Fs; Fs being a value in Hz. A chirp having a positive gradient in the frequency-time plane is generally referred to as an up-chirp, for example chirp 1 and chirp 2 on FIG. 1. A chirp having a negative gradient in the frequency-time plane is generally referred to as a down-chirp, for example chirp 3 on FIG. 1.
A chirp can be represented by a sequence of N samples. One or more identical contiguous chirps can form a symbol that represents a data value to be communicated. In one protocol a chirp can be represented mathematically as:R(g,v)=ejπg(n-f(v))(n+x-f(v))/N|n=0 to N−1  (1)where R is the received chirp sequence, which is normally evaluated for all integer values of n from 0 to N−1 in order, g is the gradient of the chirp, v is a symbol value, n is the sample index, f(v) is a function that encodes v onto the chirp, which implicitly may also be a function of g, n, N and other constants, x is a constant, which may for example be set to N mod 2, and N is the total number of samples in the sequence. The number of valid values of v is the symbol set size, which is nominally N. However, in practice the symbol set size can be more or less than N depending on the quality of the link: for example, it might be advantageous to use fewer symbols if the link quality is poor. The value of |g| can have any value greater than 0 and less than N. Due to the modular nature of this expression negative gradients are obtained from N−1 backwards. Hence, a positive gradient of N−2 is equivalent to a negative gradient of −2. Where there are more than one identical contiguous chirps in a symbol, each chirp individually conveys the same value which is the symbol value of the symbol.
Chirp 1 in FIG. 1 has a starting frequency of −Fs/2 and a gradient of 1. It increases linearly in frequency over a period of N samples by Fs to reach a frequency close to +Fs/2. Since this is a complex sampled system +Fs/2 is equivalent to −F5/2. FIG. 1 illustrates an example in which two consecutive chirps have the same symbol value, whereas the third chirp is different. An apparent discontinuity in frequency between chirp 1 and chirp 2 occurs at n=N.
Chirp 4 in FIG. 2 has a gradient of 2 and a starting frequency of −Fs/2. Because it has double the gradient of the chirps of FIG. 1, it increases linearly in frequency to +Fs/2 in half the number of samples that the chirps in FIG. 1 do, i.e. it reaches close to +Fs/2 after close to N/2 samples. The chirp then wraps around in frequency. Since this is a sampled system, these frequency wraps are in effect continuous and have continuous phase. The chirp repeats the frequency sweep from −F5/2 to +Fs/2 between samples N/2 and N.
The chirps also have continuous frequency and phase from one end of the chirp to the other. A cyclic shift of the samples that make up a chirp creates another valid chirp in this example system.
Chirps can be used to encode data in a variety of ways. Binary data may be transmitted using up and down chirps to represent zeros and ones respectively (or vice-versa). M-ary data may be encoded using M different cyclic rotations of a chirp. A transmitter may convey its identity using a sequence of chirps having different gradients. Data may also be encoded in the gradients of Zadoff-Chu codes (where N is a prime number and complex-valued sequences having the property that cyclically shifted versions of the sequence imposed on a signal result in zero cross-correlation with one another at the receiver).
On start-up, the clocks of transmitters and receivers in a communication system need to be synchronised to facilitate effective communication between them. In the case of chirp communications, a chirp receiver can have a buffer for accumulating received samples so that once a whole data symbol has been received it can be decoded. For memory economy (i.e. to minimise the amount of space needed for memory on a chip and thus the overall device size and cost), such a buffer may only be just large enough to accommodate the number of samples corresponding to a single symbol. Therefore, when such a receiver is switched on it needs to determine the symbol boundary timing so that it can acquire a whole symbol in its receive buffer instead of a latter part of one symbol and an early part of the next.
The timing offset of a receiver is the difference between the actual sampling instant of a digital representation of a received signal and the ideal sampling instant, which (in the absence of multipath) has the minimum bit error rate. A fractional timing offset is defined as a timing offset having a finite non-integer magnitude in samples. An absolute timing offset of more than half a sample is usually catastrophic as, in that case, the receiver samples are misaligned with the transmitter. In the absence of noise, a timing offset of up to half a sample will not lead to bit errors. However, in the presence of noise the tolerable limits are reduced. For example, the tolerable fractional timing offset limit might be ±0.2 samples.
A frequency offset can be defined as the lowest digital sampling frequency of the receiver minus the equivalent frequency in the transmitter and is measured in Hz. A frequency offset of zero indicates perfect frequency synchronisation. A fractional frequency offset is defined as a finite frequency offset with a magnitude that is not an integer multiple of Fs/N Hz, where N is the chirp length in samples and F is the lowest digital receiver sampling frequency in Hz. Typically, a frequency offset of Fs/N Hz is equivalent to a shift in the correlator peak position of 1 sample. Hence, an absolute frequency offset of Fs/2N Hz or more is usually catastrophic as the receiver samples are misaligned with the transmitter. In the presence of noise the absolute tolerable limit would normally be reduced to less than Fs/2N Hz. For example, the tolerable fractional frequency offset limit might be ±0.2*Fs/N Hz.
A variety of methods are known for initial synchronisation in which both integer (whole-sample) and fractional (sub-sample) timing and/or frequency equivalent offsets are determined and corrected for as is often necessary on start-up of a communication link.
For example, U.S. Pat. No. 6,304,619 describes synchronisation of a chirp transmitter and a chirp receiver by sending a synchronisation signal from the transmitter which consists of a sequence of up and down chirps having unity gradient. This concept is illustrated by FIG. 3a. The received synchronisation signal is correlated twice, firstly against a reference up chirp and secondly against a reference down chirp. This yields a set of correlation peaks for the up chirps and a set of correlation peaks for the down chirps. The peak positions are recorded relative to a fixed local clock, as illustrated by FIG. 3b. The timing offset between the transmitter and receiver, i.e. the start of a received chirp with respect to the receiver's local clock pulse, A, and the frequency offset between the transmitter and receiver B can be determined for pairs of correlated chirps according to the following simultaneous equations:
                    a        =                              (                                          Δ                u                            +                              Δ                d                                      )                    2                                    (        2        )                                b        =                  β          ⁡                      (                                          Δ                u                            -                              Δ                d                                      )                                              (        3        )            where A is the timing offset in samples, B is the frequency offset in Hz, Δu is the number of samples between a local reference and the position of the up chirp peaks, Δd is the number of samples between a local reference and the position of the down chirp peaks, and β is a factor relating the gradient of the chirp to the linear change in frequency over time. For example, β may be 2Fs/N Hz. In other words, the frequency offset is calculated as proportional to the separation of the up and down chirp peaks, and the timing offset as their mean position in samples. The described synchronisation method determines both the timing and frequency offsets of the transmitter to the receiver in order to correct one of them to agree with the other.
An alternative integer and fractional synchronisation method, using synchronisation signals comprising two or more chirps having non-unity gradients of differing magnitudes, is described in the present applicant's co-pending UK patent application number 1114880.6.
Timing and/or frequency offsets between transmitters and receivers can occur subsequent to initial synchronisation in any communication system. These can cause the transmitters and receivers to lose synchronisation lock, making effective communication between them less efficient or in severe cases impossible. Timing and/or frequency offsets may arise for a number of reasons, including crystal oscillator drift due to, for example, temperature fluctuations. Drift of half a sample or more can result in bit errors when symbols are decoded. Accurate synchronisation is particularly important in communications systems involving radio transmission of long data sequences, or when a transmitter and receiver are moving relative to one another. In at least these cases it is necessary to track timing and frequency errors to prevent data corruption and link failure.
Re-synchronisation may be achieved by repeating the initial synchronisation procedure. This may be done periodically (in some packetized systems for example, a synchronisation word is contained in every packet) or in response to detection of bit errors. However the integer and fractional approaches discussed above require dedicated synchronisation signals to be transmitted, necessitating undesirable interruptions in data communications which reduce the overall data bandwidth. Chirp synchronisation signals are often constructed with long symbol lengths (e.g. of the order of milliseconds), making dedicated synchronisation signals particularly undesirable in these cases.
Some communication systems, including GPS, track timing errors by performing additional correlations earlier and later than the prompt signal. The heights of the early, prompt and late correlation peaks are compared, and a delay locked loop (DLL) used to adjust the timing if the prompt peak is not the largest. A similar technique is used for frequency tracking, where slow and fast correlation signals are generated in addition to the prompt signal and a phase locked loop (PLL) is used to correct the frequency if the prompt peak is not the largest. However, additional correlations require additional memory, gates and power. These techniques are therefore unsuitable for low cost and power sensitive systems such as those which often communicate data using chirps.
What is needed is a way of managing timing and/or frequency drift in chirp communication systems without requiring dedicated synchronisation signals or dedicated correlations.